package org.jeecg.modules.FinanceModule.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.FinanceModule.entity.FabricDzEntity;
import org.jeecg.modules.FinanceModule.entity.ReconciliationEntity;
import org.jeecg.modules.FinanceModule.entity.InvoiceEntity;
import org.jeecg.modules.FinanceModule.entity.SupplierEntity;

import java.util.List;

public interface SupplierService {

    //查询供应商列表
    IPage<SupplierEntity> getSupplierList(Page<SupplierEntity> page, String companyName, String id, String workNo);


    //查询供应商对账列表
    IPage<SupplierEntity> getduizhangList(Page<ReconciliationEntity> page, String supplierId, String starttime,String endtime);

    SupplierEntity getduizhangdetail(String supplierId);

    //供应商中供应商开票记录查询
    IPage<InvoiceEntity> getSupplierkaipiaoList(Page<InvoiceEntity> page, String supplierId);


    //查询已有对账记录的供应商列表
    IPage<SupplierEntity> getyiReconciliationSupplierList(Page<SupplierEntity> page, String companyName, String id,String starttime,String endtime);

    //选择好供应商后，让他们这段时间内的对账全部通过
    void approveoftimeduizhang(List<String> ids, String starttime, String endtime);

    IPage<SupplierEntity> temporaryduizhangSupplierList(Page<SupplierEntity> page, String[] ids);

    //修改结算金额
    int updatesettlementMoney(ReconciliationEntity entity);

    IPage<FabricDzEntity> getSysuserAllOrderFabric(Page<FabricDzEntity> page, String sysuserId, String starttime, String endtime);

    int updateProdsettleMoney(String prodId, String fabricSettleMoney, String type);

    IPage<FabricDzEntity> getSysuserPingleicost(Page<FabricDzEntity> page, String sysuserId, String starttime, String endtime);

    IPage<FabricDzEntity> getSysuserpaidangongyi(Page<FabricDzEntity> page, String sysuserId, String starttime, String endtime);

    void duizhangWork(List<String> ids, String starttime, String endtime);

    IPage<FabricDzEntity> getSysuserpaidanrepair(Page<FabricDzEntity> page, String sysuserId, String starttime, String endtime);
}
